﻿using FlyingEye.Users.Models;
using System;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;

namespace FlyingEye.Users
{
    public interface IUserRepository : IRepository<UserModel, Guid>, ITransientDependency
    {
        Task AddUserAsync(UserModel userModel);

        Task UpdateUserAsync(UserModel userModel);

        Task DeleteUserAsync(UserModel userModel);

        Task DeleteUserByNameAsync(string name);

        Task<UserModel?> GetUserByNameAsync(string userName);
    }
}
